/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mycompany.ingsoc2;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author sfreiman
 */
public class VcLstNuevoGuardar implements ActionListener {
    
    private VcNuevoView myView;
    private VcPrincipalView myPView;
    private VcPrincipalModel myModel;

    //TODO Agregar vista principal
    public VcLstNuevoGuardar(VcPrincipalView myPModel, VcNuevoView myView, VcPrincipalModel myModel) {
        this.myView = myView;
        this.myModel = myModel;
        this.myPView = myPModel;
    }
    
    public void actionPerformed(ActionEvent e) {
        if (!myView.getActor().isEmpty() && !myView.getDescripcion().isEmpty() && !myView.getDirector().isEmpty() && myView.getDuracion() > 0 && !myView.getTitulo().isEmpty()) {
            Pelicula pNueva = new Pelicula();
            pNueva.setTitulo(myView.getTitulo());
            pNueva.setDirector(myView.getDirector());
            pNueva.setDuracion(myView.getDuracion());
            pNueva.setActorPrincipal(myView.getActor());
            pNueva.setDescripcion(myView.getDescripcion());
            pNueva.setGenero(myView.getSelectedGenero());
            pNueva.setId(myView.getID());
            //TODO seguir el patrón utilizado en VcLstLogin, el modelo se comunica con el DAO, al listener no le importa
            //Resolution: Listo
            try {
                myModel.guardarPelicula(pNueva);
                myView.cerrar();
                myPView.mostrarResultado(myModel.listar());
            } catch (SQLException ex) {
                Logger.getLogger(VcLstNuevoGuardar.class.getName()).log(Level.SEVERE, null, ex);
            }
        }else
        {
            myView.setMensaje("Mensaje: Todos los campos deben estar completos");
        }
    }
}
